package com.black.app.domain.req.my.myorders;


import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.math.BigDecimal;
import java.util.Date;

@Getter
@Setter
@ApiModel(value = "MyOrderAddReq", description = "新增订单请求对象")
public class MyOrderAddReq {

    /**
     * 订单id
     */
    @ApiModelProperty(value = "订单id")
    private Integer orderId;
    /**
     * 商品id
     */
    @ApiModelProperty(value = "商品id", required = true)
    private Integer productId;

    /**
     * 订单编号
     */
    @ApiModelProperty(value = "订单编号", required = true)
    private String orderCode;

    /**
     * 用户id
     */
    @ApiModelProperty(value = "用户id", required = true)
    private Integer userId;

    /**
     * 购买总数量
     */
    @ApiModelProperty(value = "购买总数量", required = true)
    private Integer totalQuantity;

    /**
     * 订单总金额
     */
    @ApiModelProperty(value = "订单总金额", required = true)
    private BigDecimal totalAmount;

    /**
     * 订单状态(0未支付，1待发货，2已发货，3已完成  4 退货)
     */
    @ApiModelProperty(value = "订单状态(0未支付，1待发货，2已发货，3已完成  4 退货)", required = true)
    private Integer orderStatus;

    /**
     * 实付总金额
     */
    @ApiModelProperty(value = "实付总金额")
    private BigDecimal payAmount;

    /**
     * 支付时间
     */
    @ApiModelProperty(value = "支付时间")
    private Date payTime;

    /**
     * 支付方式(0：微信，1：支付宝，2：银行卡)
     */
    @ApiModelProperty(value = "支付方式(0：微信，1：支付宝，2：银行卡)")
    private Integer payType;

    /**
     * 支付截止时间，超出时间订单自动取消
     */
    @ApiModelProperty(value = "支付截止时间，超出时间订单自动取消")
    private Date payDeadline;

    /**
     * 积分兑换
     */
    @ApiModelProperty(value = "积分兑换")
    private Integer creditsExchange;

    /**
     * 是否支付
     */
    @ApiModelProperty(value = "是否支付",required = true)
    private Integer payNot;

    /**
     * 运费
     */
    @ApiModelProperty(value = "运费",required = true)
    private BigDecimal shippingFee;

    /**
     * 收货人姓名
     */
    @ApiModelProperty(value = "收货人姓名",required = true)
    private String consigneeName;

    /**
     * 收货人电话
     */
    @ApiModelProperty(value = "收货人电话",required = true)
    private String consigneePhone;

    /**
     * 收货地址
     */
    @ApiModelProperty(value = "收货地址",required = true)
    private String consigneeAddress;

    /**
     * 是否发货
     */
    @ApiModelProperty(value = "是否发货",required = true)
    private String deliveryNot;

    /**
     * 邮寄单号
     */
    @ApiModelProperty(value = "邮寄单号")
    private String courierNumber;

    /**
     * 快递名称
     */
    @ApiModelProperty(value = "快递名称")
    private String courierCompany;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String orderRemark;

    /**
     * 享受折扣
     */
    @ApiModelProperty(value = "享受折扣")
    private BigDecimal vipDiscount;

    /**
     * 打折金额
     */
    @ApiModelProperty(value = "打折金额")
    private BigDecimal discountAmount;

    /**
     * 兑换卷id
     */
    @ApiModelProperty(value = "兑换卷id")
    private Integer couponId;

    /**
     * 规格id
     */
    @ApiModelProperty(value = "规格id")
    private Integer specificationId;
}
